5b6ab5720f79c639d6dab14bdd90bcb3dc4d8a4c,src/freenet/clients/http/FProxyToadlet.java,FProxyToadlet,handleGet,#URI#HTTPRequest#ToadletContext#,329
Before Change
L10n.addL10nSubstitution(option, "FProxyToadlet.openWithKeyExplorer", new String[] { "link", "/link" }, new String[] { "<a href=\"/plugins/plugins.KeyExplorer.KeyExplorer/?key=" + key.toString() + "\">", "</a>" });
}
if(!e.isFatal() && ctx.isAllowedFullAccess()) {
option = optionList.addChild("li");
HTMLNode optionForm = ctx.addFormChild(option, "/queue/", "dnfQueueForm");
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "key", key.toString() });
After Change
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "max-size", String.valueOf(e.expectedSize == -1 ? Long.MAX_VALUE : e.expectedSize*2) });
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "submit", "fetch", l10n("fetchLargeFileAnywayAndDisplay") });
optionList.addChild("li").addChild("a", new String[] { "href", "title" }, new String[] { "/", "FProxy home page" }, l10n("abortToHomepage"));
if(ctx.isAllowedFullAccess() || !ctx.getContainer().publicGatewayMode()) {
option = optionList.addChild("li");
optionForm = ctx.addFormChild(option, "/queue/", "tooBigQueueForm");
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "key", key.toString() });
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "return-type", "disk" });
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "persistence", "forever" });
if (mime != null) {
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "type", mime });
}
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "submit", "download", l10n("downloadInBackgroundToDisk") });
}
writeHTMLReply(ctx, 200, "OK", pageNode.generate());
} else {
HTMLNode pageNode = ctx.getPageMaker().getPageNode(FetchException.getShortMessage(e.mode), ctx);
HTMLNode contentNode = ctx.getPageMaker().getContentNode(pageNode);
HTMLNode infobox = contentNode.addChild("div", "class", "infobox infobox-error");
infobox.addChild("div", "class", "infobox-header", l10n("errorWithReason", "error", FetchException.getShortMessage(e.mode)));
HTMLNode infoboxContent = infobox.addChild("div", "class", "infobox-content");
HTMLNode fileInformationList = infoboxContent.addChild("ul");
HTMLNode option = fileInformationList.addChild("li");
option.addChild("#", (l10n("filenameLabel") + ' '));
option.addChild("a", "href", '/' + key.toString(), getFilename(e, key, e.getExpectedMimeType()));
String mime = writeSizeAndMIME(fileInformationList, e);
infobox.addChild("div", "class", "infobox-header", l10n("explanationTitle"));
infoboxContent = infobox.addChild("div", "class", "infobox-content");
infoboxContent.addChild("p", l10n("unableToRetrieve"));
if(e.isFatal())
infoboxContent.addChild("p", l10n("errorIsFatal"));
infoboxContent.addChild("p", msg);
if(e.errorCodes != null) {
infoboxContent.addChild("p").addChild("pre").addChild("#", e.errorCodes.toVerboseString());
}
infobox.addChild("div", "class", "infobox-header", l10n("options"));
infoboxContent = infobox.addChild("div", "class", "infobox-content");
HTMLNode optionList = infoboxContent.addChild("ul");
if((e.mode == FetchException.NOT_IN_ARCHIVE) && (core.node.pluginManager.isPluginLoaded("plugins.KeyExplorer.KeyExplorer"))) {
option = optionList.addChild("li");
L10n.addL10nSubstitution(option, "FProxyToadlet.openWithKeyExplorer", new String[] { "link", "/link" }, new String[] { "<a href=\"/plugins/plugins.KeyExplorer.KeyExplorer/?key=" + key.toString() + "\">", "</a>" });
}
if(!e.isFatal() && (ctx.isAllowedFullAccess() || !ctx.getContainer().publicGatewayMode())) {
option = optionList.addChild("li");
HTMLNode optionForm = ctx.addFormChild(option, "/queue/", "dnfQueueForm");
optionForm.addChild("input", new String[] { "type", "name", "value" }, new String[] { "hidden", "key", key.toString() });